package com.lanhe.identifier.service.impl;


import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.lanhe.common.constant.Constants;
import com.lanhe.identifier.domain.LhIdentifierBind;
import com.lanhe.identifier.domain.vo.LhIdentifierBindStatVO;
import com.lanhe.identifier.mapper.LhIdentifierBindMapper;
import com.lanhe.identifier.service.ILhIdentifierBindService;

/**
 * 识别码（绑定）(LhIdentifierBind)表服务实现类
 *
 * @author zhanggl
 * @since 2023-09-18 20:07:33
 */
@Service
public class LhIdentifierBindServiceImpl  implements ILhIdentifierBindService {

	@Autowired
	private LhIdentifierBindMapper lhIdentifierBindMapper;

	/**
	 * 分页查询所有数据
	 *
	 * @param identifierBind 实体
	 * @return 识别码绑定日志集合信息
	 */
	@Override
	public List<LhIdentifierBind> selectIdentifierBindList (LhIdentifierBind identifierBind) {
		List<LhIdentifierBind> identifierBinds = lhIdentifierBindMapper.selectIdentifierBindList(identifierBind);
		for (LhIdentifierBind bind : identifierBinds) {
			bind.setPlatformName(Constants.IDENTIFIER_BIND_PLATFORM.get(bind.getPlatform()));
			bind.setStatusName(Constants.IDENTIFIER_BIND_STATUS.get(bind.getStatus()));
			bind.setIsUseName(Constants.IDENTIFIER_BIND_IS_USE.get(bind.getIsUse()));
		}
		return identifierBinds;
	}

	/**
	 * 根据编号获取详细信息
	 *
	 * @param identifierBindId ID
	 * @return 识别码绑定日志信息
	 */
	@Override
	public LhIdentifierBind selectIdentifierBindById (Long identifierBindId) {
		LhIdentifierBind lhIdentifierBind = lhIdentifierBindMapper.selectIdentifierBindById(identifierBindId);
		lhIdentifierBind.setPlatformName(Constants.IDENTIFIER_BIND_PLATFORM.get(lhIdentifierBind.getPlatform()));
		lhIdentifierBind.setStatusName(Constants.IDENTIFIER_BIND_STATUS.get(lhIdentifierBind.getStatus()));
		lhIdentifierBind.setIsUseName(Constants.IDENTIFIER_BIND_IS_USE.get(lhIdentifierBind.getIsUse()));
		return lhIdentifierBind;
	}

	/**
	 * 根据识别码获取详细信息
	 *
	 * @param identifierBind 识别码
	 * @return 结果
	 */
	@Override
	public LhIdentifierBind selectIdentifierBindByIdentifier(String identifierBind) {
		return lhIdentifierBindMapper.selectIdentifierBindByIdentifier(identifierBind);
	}

	/**
	 * 绑定识别码
	 *
	 * @param identifierBind 实体
	 * @return 结果
	 */
	@Override
	public int insertIdentifierBind (List<LhIdentifierBind> identifierBind) {
		return lhIdentifierBindMapper.insertIdentifierBind(identifierBind);
	}

	/**
	 * 删除识别码
	 *
	 * @param identifierBindIds 需要删除的参数ID
	 * @return 结果
	 */
	@Override
	public int deleteIdentifierBindByIds (Long[] identifierBindIds) {
		return lhIdentifierBindMapper.deleteIdentifierBindByIds(identifierBindIds);
	}

	/**
	 * 修改身份识别码
	 *
	 * @param lhIdentifierBind 实体
	 * @return 结果
	 */
	@Override
	public int updateLhIdentifierBind(LhIdentifierBind lhIdentifierBind) {
		return lhIdentifierBindMapper.updateLhIdentifierBind(lhIdentifierBind);
	}

	/**
	 * 修改状态（开启关闭授权）
	 *
	 * @param lhIdentifierBind 实体
	 * @return 结果
	 */
	@Override
	public int empower(LhIdentifierBind lhIdentifierBind) {
		return lhIdentifierBindMapper.empower(lhIdentifierBind);
	}

	/**
	 * 统计已使用、未使用
	 *
	 * @return 结果
	 */
	@Override
	public LhIdentifierBindStatVO stat() {
		return lhIdentifierBindMapper.stat();
	}

	/**
	 * 使用身份识别码
	 *
	 * @param identifier 识别码
	 * @return 结果
	 */
	@Override
	public int useIdentifierBindByIdentifier(String identifier) {
		return lhIdentifierBindMapper.useIdentifierBindByIdentifier(identifier);
	}
}

